package org.gap.web.jsf;

import java.util.List;

import org.gap.dao.TiersRibDAO;
import org.gap.dao.UtilisateursDAO;

import org.gap.domain.TiersRib;
import org.gap.domain.Utilisateurs;

import org.gap.service.TiersRibService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Component;

import org.springframework.transaction.annotation.Transactional;

/**
 * Spring Component that handles CRUD requests for TiersRib entities
 * 
 */
@Scope("session")
@Component("TiersRibComponent")
public class TiersRibComponentImpl implements TiersRibComponent {

	/**
	 * Data type variable that provides CRUD operations for TiersRib entities
	 * 
	 */
	private TiersRib tiersrib;

	/**
	 * DAO injected by Spring that manages Utilisateurs entities
	 * 
	 */
	private Utilisateurs utilisateursbytrbusercreation;

	/**
	 * DAO injected by Spring that manages Utilisateurs entities
	 * 
	 */
	private Utilisateurs utilisateursbytrbusermodification;

	/**
	 * DAO injected by Spring that manages TiersRib entities
	 * 
	 */
	@Autowired
	private TiersRibDAO tiersRibDAO;

	/**
	 * DAO injected by Spring that manages Utilisateurs entities
	 * 
	 */
	@Autowired
	private UtilisateursDAO utilisateursDAO;

	/**
	 * Service injected by Spring that provides CRUD operations for TiersRib entities
	 * 
	 */
	@Autowired
	private TiersRibService tiersRibService;

	/** 
	 */
	public TiersRibComponentImpl() {
	}

	/**
	 * Save an existing Utilisateurs entity
	 * 
	 */
	@Transactional
	public String saveTiersRibUtilisateursByTrbUserModification(Integer tiersrib_trbTiers, Integer tiersrib_trbRib, Utilisateurs utilisateurs) {
		tiersrib = tiersRibService.saveTiersRibUtilisateursByTrbUserModification(tiersrib_trbTiers, tiersrib_trbRib, utilisateurs);

		return "/jsf/tiersrib/viewTiersRib.xhtml";
	}

	/**
	 * View an existing Utilisateurs entity
	 * 
	 */
	@Transactional
	public String selectTiersRibUtilisateursByTrbUserModification(Integer tiersrib_trbTiers, Integer tiersrib_trbRib, String related_utilisateursbytrbusermodification_usrUser) {
		utilisateursbytrbusermodification = utilisateursDAO.findUtilisateursByPrimaryKey(related_utilisateursbytrbusermodification_usrUser, -1, -1);
		return "/jsf/tiersrib/utilisateursbytrbusermodification/viewUtilisateursByTrbUserModification.xhtml";
	}

	/**
	 * Getter for variable TiersRib
	 * 
	 */
	@Transactional
	public TiersRib getTiersrib() {
		return tiersrib;
	}

	/**
	 * Select the child Utilisateurs entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteTiersRibUtilisateursByTrbUserModification(Integer tiersrib_trbTiers, Integer tiersrib_trbRib, String related_utilisateursbytrbusermodification_usrUser) {
		utilisateursbytrbusermodification = utilisateursDAO.findUtilisateursByPrimaryKey(related_utilisateursbytrbusermodification_usrUser);

		return "/jsf/tiersrib/utilisateursbytrbusermodification/deleteUtilisateursByTrbUserModification.xhtml";
	}

	/**
	 * Create a new Utilisateurs entity
	 * 
	 */
	@Transactional
	public String newTiersRibUtilisateursByTrbUserModification(Integer tiersrib_trbTiers, Integer tiersrib_trbRib) {
		utilisateursbytrbusermodification = new Utilisateurs();

		return "/jsf/tiersrib/utilisateursbytrbusermodification/createUtilisateursByTrbUserModification.xhtml";
	}

	/**
	 * Save an existing Utilisateurs entity
	 * 
	 */
	@Transactional
	public String saveTiersRibUtilisateursByTrbUserCreation(Integer tiersrib_trbTiers, Integer tiersrib_trbRib, Utilisateurs utilisateurs) {
		tiersrib = tiersRibService.saveTiersRibUtilisateursByTrbUserCreation(tiersrib_trbTiers, tiersrib_trbRib, utilisateurs);

		return "/jsf/tiersrib/viewTiersRib.xhtml";
	}

	/**
	 * Edit an existing Utilisateurs entity
	 * 
	 */
	@Transactional
	public String editTiersRibUtilisateursByTrbUserCreation(Integer tiersrib_trbTiers, Integer tiersrib_trbRib, String related_utilisateursbytrbusercreation_usrUser) {
		utilisateursbytrbusercreation = utilisateursDAO.findUtilisateursByPrimaryKey(related_utilisateursbytrbusercreation_usrUser, -1, -1);
		return "/jsf/tiersrib/utilisateursbytrbusercreation/editUtilisateursByTrbUserCreation.xhtml";
	}

	/**
	 * View an existing Utilisateurs entity
	 * 
	 */
	@Transactional
	public String selectTiersRibUtilisateursByTrbUserCreation(Integer tiersrib_trbTiers, Integer tiersrib_trbRib, String related_utilisateursbytrbusercreation_usrUser) {
		utilisateursbytrbusercreation = utilisateursDAO.findUtilisateursByPrimaryKey(related_utilisateursbytrbusercreation_usrUser, -1, -1);
		return "/jsf/tiersrib/utilisateursbytrbusercreation/viewUtilisateursByTrbUserCreation.xhtml";
	}

	/**
	 * Delete an existing TiersRib entity
	 * 
	 */
	@Transactional
	public String deleteTiersRib(Integer trbTiersKey, Integer trbRibKey) {
		TiersRib tiersrib = tiersRibDAO.findTiersRibByPrimaryKey(trbTiersKey, trbRibKey);
		tiersRibService.deleteTiersRib(tiersrib);
		return "/jsf/tiersrib/listTiersRibs.xhtml";
	}

	/**
	 * Getter for variable TiersRib
	 * 
	 */
	@Transactional
	public Utilisateurs getUtilisateursbytrbusercreation() {
		return utilisateursbytrbusercreation;
	}

	/**
	 * Getter for variable TiersRib
	 * 
	 */
	@Transactional
	public Utilisateurs getUtilisateursbytrbusermodification() {
		return utilisateursbytrbusermodification;
	}

	/**
	 * Create a new TiersRib entity
	 * 
	 */
	@Transactional
	public String newTiersRib() {
		tiersrib = new TiersRib();

		return "/jsf/tiersrib/createTiersRib.xhtml";
	}

	/**
	 * Show all TiersRib entities
	 * 
	 */
	@Transactional
	public List<TiersRib> listTiersRibs() {
		return new java.util.ArrayList<TiersRib>(tiersRibService.loadTiersRibs());
	}

	/**
	 * Save an existing TiersRib entity
	 * 
	 */
	@Transactional
	public String saveTiersRib(TiersRib tiersrib) {
		tiersRibService.saveTiersRib(tiersrib);
		return "/jsf/tiersrib/listTiersRibs.xhtml";
	}

	/**
	 * Create a new Utilisateurs entity
	 * 
	 */
	@Transactional
	public String newTiersRibUtilisateursByTrbUserCreation(Integer tiersrib_trbTiers, Integer tiersrib_trbRib) {
		utilisateursbytrbusercreation = new Utilisateurs();

		return "/jsf/tiersrib/utilisateursbytrbusercreation/createUtilisateursByTrbUserCreation.xhtml";
	}

	/**
	 * Edit an existing TiersRib entity
	 * 
	 */
	@Transactional
	public String editTiersRib(Integer trbTiersKey, Integer trbRibKey) {
		tiersrib = tiersRibDAO.findTiersRibByPrimaryKey(trbTiersKey, trbRibKey);

		return "/jsf/tiersrib/editTiersRib.xhtml";
	}

	/**
	 * Select an existing TiersRib entity
	 * 
	 */
	@Transactional
	public String selectTiersRib(Integer trbTiersKey, Integer trbRibKey) {
		tiersrib = tiersRibDAO.findTiersRibByPrimaryKey(trbTiersKey, trbRibKey);

		return "/jsf/tiersrib/viewTiersRib.xhtml";
	}

	/**
	 * Get Utilisateurs entity by TiersRib
	 * 
	 */
	@Transactional
	public Utilisateurs getTiersRibUtilisateursByTrbUserCreation(Integer trbTiersKey, Integer trbRibKey) {
		return tiersRibDAO.findTiersRibByPrimaryKey(trbTiersKey, trbRibKey).getUtilisateursByTrbUserCreation();
	}

	/**
	 * Delete an existing Utilisateurs entity
	 * 
	 */
	@Transactional
	public String deleteTiersRibUtilisateursByTrbUserModification(Integer tiersrib_trbTiers, Integer tiersrib_trbRib, String related_utilisateursbytrbusermodification_usrUser) {
		tiersrib = tiersRibService.deleteTiersRibUtilisateursByTrbUserModification(tiersrib_trbTiers, tiersrib_trbRib, related_utilisateursbytrbusermodification_usrUser);

		return "/jsf/tiersrib/viewTiersRib.xhtml";
	}

	/**
	 * Delete an existing Utilisateurs entity
	 * 
	 */
	@Transactional
	public String deleteTiersRibUtilisateursByTrbUserCreation(Integer tiersrib_trbTiers, Integer tiersrib_trbRib, String related_utilisateursbytrbusercreation_usrUser) {
		tiersrib = tiersRibService.deleteTiersRibUtilisateursByTrbUserCreation(tiersrib_trbTiers, tiersrib_trbRib, related_utilisateursbytrbusercreation_usrUser);

		return "/jsf/tiersrib/viewTiersRib.xhtml";
	}

	/**
	 * Edit an existing Utilisateurs entity
	 * 
	 */
	@Transactional
	public String editTiersRibUtilisateursByTrbUserModification(Integer tiersrib_trbTiers, Integer tiersrib_trbRib, String related_utilisateursbytrbusermodification_usrUser) {
		utilisateursbytrbusermodification = utilisateursDAO.findUtilisateursByPrimaryKey(related_utilisateursbytrbusermodification_usrUser, -1, -1);
		return "/jsf/tiersrib/utilisateursbytrbusermodification/editUtilisateursByTrbUserModification.xhtml";
	}

	/**
	 * Select the child Utilisateurs entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteTiersRibUtilisateursByTrbUserCreation(Integer tiersrib_trbTiers, Integer tiersrib_trbRib, String related_utilisateursbytrbusercreation_usrUser) {
		utilisateursbytrbusercreation = utilisateursDAO.findUtilisateursByPrimaryKey(related_utilisateursbytrbusercreation_usrUser);

		return "/jsf/tiersrib/utilisateursbytrbusercreation/deleteUtilisateursByTrbUserCreation.xhtml";
	}

	/**
	 * Select the TiersRib entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteTiersRib(Integer trbTiersKey, Integer trbRibKey) {
		tiersrib = tiersRibDAO.findTiersRibByPrimaryKey(trbTiersKey, trbRibKey);

		return "/jsf/tiersrib/deleteTiersRib.xhtml";
	}

	/**
	 * Get Utilisateurs entity by TiersRib
	 * 
	 */
	@Transactional
	public Utilisateurs getTiersRibUtilisateursByTrbUserModification(Integer trbTiersKey, Integer trbRibKey) {
		return tiersRibDAO.findTiersRibByPrimaryKey(trbTiersKey, trbRibKey).getUtilisateursByTrbUserModification();
	}

}
